# %%
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
# --------------------图片加减法-----------------------
scenery = cv.imread('scenery.png')
rain = cv.imread('rain.jpeg')

# 打印图像大小
print("Scenery size: ", scenery.shape)
print("Rain size: ", rain.shape)

# %%
# 裁剪图像
scenery = scenery[0:rain.shape[0],  0:rain.shape[1]] 
# 裁剪坐标为[y0:y1, x0:x1],是左上角坐标和右下角坐标，剪到和另一张图片一样大小

cv.imshow("Scenery", scenery) #风景图片
cv.imshow("Rain", rain) #雨滴图片

# %%

# 图像加法
add_image = cv.add(scenery, rain) #使用cv.add()函数进行图像加法效果比直接img2 = scenery + rain更好
cv.imshow("Addition", add_image)
cv.waitKey(0)
plt.imshow(add_image)

# %%

# 图像减法
sub_image = cv.subtract(add_image, rain)
cv.imshow("Subtraction", sub_image) #得到的图像并不是scenery的图像，因为上面的加法每个像素加到255以后，超过255还是255
cv.waitKey(0)
plt.imshow(sub_image)

# %%
cv.destroyAllWindows()